<?php namespace Home\Controller;

use Hdphp\Controller\Controller;

class LoginController extends Controller{
	public function code(){
		Code::make();
	}
//	登录
	public function login(){
//		获取账号，密码
		$username = Q('post.username');
		$password = Q('post.password');
//		从数据库里拿出与输入的账号一致的信息
		$usernameData = Db::table('user')->where("username='{$username}'")->get();
//		sp($_SERVER);
//		如果为空的话，则证明用户名不存在，弹出错误
		if(!$usernameData){
			View::error('用户名或密码错误');
		};
//		遍历数据库里拿出来的信息，对比账号密码是否正确，不正确弹出错误
		foreach ($usernameData as $k => $v) {
			if($v['username'] != $username || $v['password'] != $password){
				View::error('用户名或密码错误',$_SERVER['HTTP_REFERER']);
			}
//			正确则把用户名存入SESSION
			$_SESSION['username'] = $v['username'];
//			提示登录成功
			View::success('登录成功');
		}
		
	}
	
//	注册
	public function register(){
//		获取账号密码，确认密码，和验证码
		$username = Q('post.username');
		$password = Q('post.password');
		$confirmPassword = Q('post.confirmPassword');
		$code = Q('post.code');
//		设置一个数组，存2个值，error和msg，error默认为1（1为错误，错误的时候，把错误信息存放到msg，然后弹出）
		$re = array(
			'error'=>1
		);
//		获取数据库里是否存在注册的账号
		$user = Db::table('user')->where("username='{$username}'")->get();
		//判断验证码
//		判断验证码是否正确，不正确返回错误
		if(strtoupper($code) != Code::get()){
			$re['msg'] = '验证码错误';
			die(json_encode($re));
		}
		//判断用户名
//		如果存在的话，证明用户名已存在，返回错误信息
		if($user){
			$re['msg'] = '用户名已存在';
			die(json_encode($re));
		}
//		用户名不能为空
		if($username == ''){
			$re['msg'] = '用户名不能为空';
			die(json_encode($re));
		}
//		判断密码
//		密码不能为空
		if($password == ''){
			$re['msg'] = '密码不能为空';
			die(json_encode($re));
		}
//		把通过验证的账号和密码存到进数组
		$data = array(
			'username' => $username,
			'password' => $confirmPassword
		);
//		添加到数据库
		$arr = Db::table('user')->insert($data);
//		返回正确提示信息
		if($arr){
			$re['error'] = 0;
			$re['msg'] = '注册成功';
		}
		die(json_encode($re));
		
	}
	
//	异步判断用户名是否正确
	public function username(){
		$uname = Q('post.uname');
		$pregs = Q('post.pregs');
		if($pregs == 'null'){
			echo 3;
			return;
		}
		
		if($uname == ''){
			echo 2;
			return;
		}
		
		
		$usernameData = Db::table('user')->where("username='{$uname}'")->get();
		if($usernameData){
			echo 1;
			return;
		}else{
			echo 0;
			return;
		}
	}
	
//	异步判断密码是否正确
	public function password(){
		$password = Q('post.password');
		$confirmPassword = Q('post.confirmPassword');
		if($password == ''){
			echo 2;
			return;
		}
		
		if($password != $confirmPassword){
			echo 1;
			return;
		}else{
			echo 0;
			return;
		}
	}
	
//	异步判断验证码是否正确
	public function codes(){
		$code = Q('post.code');
		if($code == ''){
			echo 1;
			exit;
		}
		if(strtoupper($code) == Code::get()){
			echo 0;
			exit;
		}else{
			echo 2;
			exit;
		}
	}
	
//	退出登录
	public function out(){
		unset($_SESSION['username']);
		View::success('退出成功',U('Index/index'));
	}
}

 ?>